package com.maibow.util;

import java.util.Properties;

import javax.servlet.http.HttpServletRequest;

import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;

/**
 * 路径工具类
 * 脉博网络后台管理系统
 * 包名：com.maibow.util
 * 文件名：PathUtil.java
 * 作者: 吴比(Wubi)
 * 时间：2015年4月2日-上午9:15:32
 * Copyright@ 2015湖南脉博网络科技有限公司-版权所有
 *
 */
public class PathUtil {

    /**
     * 图片访问路径
     * 
     * @param pathType
     *            图片类型 visit-访问；save-保存
     * @param pathCategory
     *            图片类别，如：话题图片-topic、话题回复图片-reply、
     *            商家图片
     * @return
     */
    public static String getPicturePath(String pathType, String pathCategory) {
        String strResult = "";
        HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
        StringBuffer strBuf = new StringBuffer();
        if ("visit".equals(pathType)) {
        } else if ("save".equals(pathType)) {
            String projectPath = PublicUtil.getPorjectPath().replaceAll("\\\\", "/");
            projectPath = splitString(projectPath, "bin/");

            strBuf.append(projectPath);
            strBuf.append("webapps/ROOT/");
        }

        strResult = strBuf.toString();

        return strResult;
    }

    private static String splitString(String str, String param) {
        String result = str;

        if (str.contains(param)) {
            int start = str.indexOf(param);
            result = str.substring(0, start);
        }

        return result;
    }

    public static String getUploadImagePath() {
        Properties prop = System.getProperties();
        String os = prop.getProperty("os.name");
        System.out.println(os);
        String path = null;
        if (os.startsWith("Win")) {
            path = (String.valueOf(Thread.currentThread().getContextClassLoader().getResource("")) + "../../").replaceAll("file:/", "").replaceAll("%20", " ").trim();
        } else {
            path = (String.valueOf(Thread.currentThread().getContextClassLoader().getResource("")) + "../../").replaceAll("file:", "").replaceAll("%20", " ").trim();
        }
        return path;
    }

    /*
     * 获取classpath1
     */
    public static String getClasspath() {

        Properties prop = System.getProperties();
        String os = prop.getProperty("os.name");
//        System.out.println(os);
        String path = null;
        if (os.startsWith("Win")) {
            path = (String.valueOf(Thread.currentThread().getContextClassLoader().getResource("")) + "../../").replaceAll("file:/", "").replaceAll("%20", " ").trim();
        } else {
            path = (String.valueOf(Thread.currentThread().getContextClassLoader().getResource("")) + "../../").replaceAll("file:", "").replaceAll("%20", " ").trim();
        }

        return path;
    }

    /*
     * 获取classpath2
     */
    public static String getClassResources() {
        Properties prop = System.getProperties();
        String os = prop.getProperty("os.name");
        System.out.println(os);
        String path = null;
        if (os.startsWith("Win")) {
            path = (String.valueOf(Thread.currentThread().getContextClassLoader().getResource(""))).replaceAll("file:/", "").replaceAll("%20", " ").trim();
        } else {
            path = (String.valueOf(Thread.currentThread().getContextClassLoader().getResource(""))).replaceAll("file:", "").replaceAll("%20", " ").trim();
        }

        return path;
    }

    public static String PathAddress() {
        String strResult = "";

        HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();

        StringBuffer strBuf = new StringBuffer();

        strBuf.append(request.getScheme() + "://");
        strBuf.append(request.getServerName() + ":");
        strBuf.append(request.getServerPort() + "");

        strBuf.append(request.getContextPath() + "/");

        strResult = strBuf.toString();// +"ss/";//加入项目的名称

        return strResult;
    }

}
